1. Field of the Invention
The present invention generally relates to transmission and presentation of broadcast digital video and audio program content and, more particularly, to storage of audio and video streams received from digital transmission media and navigation of stored data to locate audio and video data streams associated with a given time period in a program.
2. Description of the Prior Art
Since its invention, television has been recognized to have great economic and social potential. At the present time, when wide bandwidth transmission systems such as coaxial cable systems are becoming relatively ubiquitous, much of the economic and social potential derives from the variety of programming or other information which can be provided to users and the willingness of users to pay for access to particular information, such as pay-per-view movies at a time convenient to them.
While coaxial cable distribution systems provide very substantial numbers of choices of information available as well as some capacity for so-called upstream signalling and even Internet communications of increased speed relative to telephone/modem arrangements, there is increased demand for wider variety and flexibility of programming which can only be provided, at the present state of the art, through digital communications using extremely broad band transmission media such as microwave and fiber optic links.
Even with these broad band communication media, the required capacity, the volume and variety of data contained in common programming requires extreme compression to support the number of separate communications which may be required to be transmitted over a communication link of finite although substantial capacity. Accordingly, a compression convention referred to as MPEG (Motion Picture Experts Group has been promulgated in several versions (e.g. MPEG-2) and has become an industry standard. This standard is extremely flexible and adaptive to transmission content to allow extreme compression and is largely compatible with error recovery and hiding arrangements which support acceptable video and audio playback even though the digital transmission medium is considered xe2x80x9clossyxe2x80x9d and reception of data with missing or corrupted segments or packets is a common occurrence.
In order to implement this compression convention, a so-called xe2x80x9cset-top boxxe2x80x9d (STB), also referred to as a xe2x80x9ctarget decoderxe2x80x9d, has been developed and, at the current time, has a well-established architecture. The processing of which the STB is capable is, of course, very substantial since MPEG compression is very complex.
While little storage is required (or possible due to time constraints of substantially real-time presentation) during normal decoding of data transmitted in accordance with the MPEG-2 standard, public familiarity with the functions of video cassette recorders (VCRs) has generated substantial demand for similar functions in a STB. Accordingly, STBs with substantial storage within the STB have been proposed and provision is also sometimes made for further storage on an outboard mass storage device such as a hard disk drive or compact disk recorder/playback device.
Additionally user demand for specialized features and image enhancement has required substantially increased complexity beyond the demands of MPEG processing. For example, a separate microprocessor and substantial memory is generally included and dedicated to provide user-definable functions such as overlays, picture-in-picture displays, graphics overlays, image morphing and other image manipulations. This additional hardware complexity has pushed the cost of the STB close to the limit of consumer acceptance and economic viability. Therefore, additional functions may only be included if they can be implemented very economically with little additional hardware and without significant use of the additional dedicated microprocessor.
However, storage of received programming under the MPEG-2 standard so that the user may have control of playback and review of program content presents significant practical problems. Under the MPEG compression and decompression convention, audio and video are separately processed in separate packetized elementary streams (PESs). If recording is provided, these PESs are separately recorded (in encoded and compressed form to reduce data volume) with periodic but relatively infrequent signals for the maintenance of synchronization. This leads to inefficiencies in recording data to be presented concurrently in separate areas or sectors of the recording medium and difficulty in reassociation of a random point in a video or audio sequence with a corresponding point in the complementary audio or video sequence.
Therefore, when recording and user controllable playback facilities are provided, the user experiences difficulty in locating a particular desired point to begin playback in either the audio or video sequence and substantial and irritating delays are encountered in associating the complementary program sequence with the selected audio or video sequence (e.g. from which the selection is made). Additionally, recording different data having similar Presentation Time Stamps (PTSs) in different sectors requires additional head movement of a transducer head between often widely separated regions of the recording medium. It can be appreciated that when blocks of data in different sectors must be frequently read (e.g. to accommodate about 1 MByte/second at 64 KBytes/block where possibly as few as one block may be in a sector), increased wear on the recording device is caused. More importantly, however, substantial amounts of time and effective bandwidth of the recording device are consumed.
At the present state of the art, no solution has been proposed for improving efficiency of storage consistent with MPEG compliant STB architecture which can be implemented with an economically acceptable increase in hardware or processing burden. Further, the bandwidth requirements for navigating, searching and processing streaming data to selected desired locations therein cannot generally be accommodated, especially in an economical fashion, by known mass storage devices when different sectors must be read in concurrent short time frames.
It is therefore an object of the present invention to provide a technique of storing separate data streams with related portion (e.g. by presentation time) together in a single compressed data stream and to reduce transducer head movement and recover the separate data streams upon read out from storage.
It is another object of the invention to provide a technique of limitation of searching and processing of streaming data to locate desired portions thereof while avoiding large bandwidth requirements.
In order to accomplish these and other objects of the invention, a method of multiplexing data streams for storage is provided including steps of buffering each of first and second data streams, defining sub-blocks in each of the first and second data streams by which said sub-blocks are read out to a multiplexer, preferably using bytes-to-interrupt (BTI) processing, queueing the subblocks into data blocks in the order the sub-blocks are defined or BTI interrupts are issued, and storing said data block in a storage device. Headers are preferably built and queued with the sub-blocks for storage. If a system time clock (STC) value is included in the header, a target STC value can be computed or derived from a current STC value and used to access a data block which contains the target STC signal, preferably using a look-up table correlating STC values with storage locations.